home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 7 / FM Towns Free Software Collection 7.iso / data / nyan_e2 / nyane2sl.plp < prev    next >
Text File  |  1993-11-30  |  7KB  |  288 lines

  1. /**********   ダウンロード関連の受信予約を行う  v1.04a用   **********/
  2.  
  3. var Forum[10];
  4. var LibNo[4];
  5. var DownNo[6];
  6. var DownName[50];
  7. var endtype[3];
  8. var flag[82];
  9.  
  10. %Getline{[LINE]
  11.     head(@getline(a,LINE,1),{\n});
  12. };
  13.  
  14. %setREAD{
  15.     var data[300];
  16.     var fno[10];
  17.     %a    @plane(
  18.         {c  受信するファイルのデータを入力してください\n}|
  19.         {c            (英小大文は使わないでください)\n}|
  20.         {t   フォーラム名  /xxxxxxxx\n}|
  21.         {t   会議室番号    /xx\n}|
  22.         {t   発言番号     /\n}|
  23.         {c\n}|
  24.         {s    /    終 了    \n},
  25.     );
  26.  
  27.     case(@Getline(4)<>{},{Yes},{
  28.         Forum:=@Getline(1);
  29.         LibNo:=@Getline(2);
  30.         data:=@Getline(3);
  31.     });
  32.     case(Forum<>{} && LibNo<>{} && data<>{} && data<>{#},{Yes},{
  33.         case(@nochar(LibNo),{1},{LibNo:={0}|LibNo});
  34.         case(@getchar(data,1,1)<>{#},{Yes},{data:={#}|data});
  35.         fno:=0;
  36.         loop({ fno:=fno+1;
  37.             filechk(FNameTop|{MES}|fno|{.txt});
  38.         });
  39.         fno:=@getchar(fno|{   },1,3);
  40.         IndexLine:={予 }|fno|{ Read :}|@getchar(Forum|{        },1,8)
  41.             |{/}|LibNo|{/     :指定発言取得\n};
  42.         write(IndexFName,IndexLine);
  43.         write(FNameTop|{MES}|fno|{.txt},data|{\n});
  44.     });
  45. };
  46.  
  47. %yoyaku{
  48.     case(@nochar(LibNo),{1},{LibNo:={0}|LibNo});
  49.     case(@nochar(DownNo),{1},{DownNo:={ 000}|DownNo},
  50.                  {2},{DownNo:= { 00}|DownNo},
  51.                  {3},{DownNo:=  { 0}|DownNo},
  52.                  {4},{DownNo:=   { }|DownNo}
  53.     );
  54.     endtype:=@select({「}|DownName|{」 の受信予約をしますか?},
  55.     99999,{im({捨});
  56.         },{   データの受信予約をする},        {im({予});
  57.         },{   補足説明のみ受信予約する   },    {im({説});
  58.         },{   受信予約を保留する},        {im({保});
  59.         },{   予約しない},            {im({捨});
  60.      });
  61.     case( endtype<>{捨},{Yes},{
  62.         IndexLine:=endtype|{     LIB  :}|@getchar(Forum|{       },1,8)
  63.                 |{/}|LibNo|{/}|DownNo|{:}|DownName|{\n};
  64.         write(IndexFName,IndexLine);
  65.     });
  66. };
  67.  
  68. %getname{
  69.     CloseAllMemo;
  70.     footnote({});
  71.     Line:=@getchar(tarline,40);
  72.     mae:=@head(Line,{.});
  73.     ushiro:=@head(@body(Line,{.},),{ });
  74.     case(    @nochar(mae)<=8 && 0<@nochar(ushiro) && 
  75.             @nochar(ushiro)<=3,
  76.         {Yes},{file:=@head(mae,{ })|{.}|ushiro;
  77.         },{No},{file:={#}|num|{-}|
  78.             @tail(@getchar(tarline,1,4),{ })|{.BIN};
  79.     });
  80.     loop({
  81.         DownName:=@input(
  82.             { 『}|@head(@getchar(tarline,40,82),{\n})|{』\n}|
  83.             {    受信ファイル名を入力してください\n}|
  84.             {    (英小文字で入力しないでください)},,
  85.         file);
  86.         im(@nochar(DownName) > 45);
  87.     });
  88.     Forum:=@tail(@body(filename,,{\}),{\});
  89.     libfile:=@tail(filename,{\});
  90.     case(@getchar(libfile,4,1)={1},
  91.         {Yes},{LibNo:=@getchar(libfile,4,2);
  92.         },{No},{LibNo:=@getchar(libfile,5,1);
  93.     });
  94.     DownNo:=@tail(@getchar(tarline,1,4),{ });
  95.     case(DownName<>{},{Yes},{yoyaku});
  96.     im({Yes});
  97. };
  98.  
  99. %syudou{
  100.     %a    @plane(
  101.         {c  受信するファイルのデータを入力してください\n}|
  102.         {c            (英小大文は使わないでください)\n}|
  103.         {t   フォーラム名    /xxxxxxxx\n}|
  104.         {t   ライブラリ番号  /xx\n}|
  105.         {t   ファイル番号   /xxxx\n}|
  106.         {t   ファイル名     /xxxxxxxxxxxx\n}|
  107.         {c\n}|
  108.         {s    /    終 了    \n},
  109.     );
  110.  
  111.     case(@getline(a,5,1)<>{},{Yes},{
  112.         Forum:=@Getline(1);
  113.         LibNo:=@Getline(2);
  114.         DownNo:=@Getline(3);
  115.         DownName:=@Getline(4);
  116.     });
  117.     case(Forum<>{} && LibNo<>{} && DownNo<>{} && DownName<>{},{Yes},{
  118.         yoyaku;
  119.     });
  120. };
  121.  
  122. %sentaku{
  123.     var libfile[80];
  124.     var tarline[82];
  125.     var Line[42];
  126.     var file[14];
  127.     var mae[42];
  128.     var ushiro[42];
  129.  
  130.     %dispFile{[filename]
  131.         case(@filechk(filename),
  132.         {Yes},{
  133.             case(flag<>filename,{Yes},{
  134.                 mclear(2); mread(filename,2);
  135.                 flag:=filename;
  136.             });
  137.             mopen(2,0,21,639,459,{w});
  138.             footnote({終了},{b});
  139.             loop({waitx(1000);
  140.                     im(@xtype!=2 && @xtype<100)
  141.             });
  142.             check(2);
  143.             mclose(2);
  144.         },{No},{
  145.             select({ 受信済みのファイルがありません},10,,{確認})
  146.         })
  147.     };
  148.  
  149.     %boadmenu{[filename]
  150.     case(@filechk(filename),{Yes},{
  151.             case(flag<>filename,{Yes},{
  152.             mclear(2); mread(filename,2);
  153.             flag:=filename;
  154.         });
  155.         loop({
  156.             mopen(2,0,21,639,459,{w});
  157.             footnote({終了予約},{b});
  158.             loop(  {waitx(1000);
  159.                 im(@xtype!=2 && @xtype<100 || @xlinenum<0)
  160.             });
  161.             tarline:=@memo(2,@xlinenum,1);
  162.             case(@PFK(@xtype),
  163.                     2,{ getname;
  164.                 },101,{    im({No});
  165.                 },102,{    getname;
  166.                 },,{ im({Yes});
  167.             });
  168.         });
  169.         footnote({});
  170.         check(2);
  171.         mclose(2);
  172.     });
  173.     };
  174.  
  175.     var boadnum[10];
  176.     %setdocm{
  177.     var f2[1000];
  178.     %oneBoad{
  179.         %line @fread(23,{/});
  180.         %LibNo    @case(@getchar(line,3,1),
  181.                 { },{im({0}|@getchar(line,4,4))},
  182.                    ,{getchar(line,3,4)
  183.             });
  184.         case(@filechk( logl|{\}|name|{\LIB}|LibNo|{.LOG}),
  185.         {Yes},{
  186.             case(line<>{},
  187.             {Yes},{
  188.               madd(1,{[}|name2|{] Forum Library }|
  189.                  @getchar(line,3,2)|
  190.                 @getchar(line,28,80));
  191.             im({Yes});
  192.             },{No},{im({No});
  193.             });
  194.         });
  195.         case(@filechk( logl|{\}|name|{\LIB}|LibNo|{.LST} ),
  196.         {Yes},{
  197.             case(line<>{},
  198.             {Yes},{
  199.               madd(1,{[}|name2|{] Forum Library'}|
  200.                  @getchar(line,3,2)|
  201.                 @head(@getchar(line,28,80),{\n})|
  202.                 { (.LST)\n});
  203.             im({Yes});
  204.             },{No},{im({No});
  205.             });
  206.         });
  207.         im(line<>{});
  208.     };
  209.     %oneForum{[name]
  210.         %name2 @getchar(name|{       },1,8);
  211.         madd(1,{[}|name2|{] Forum Openning \n});
  212.         fopen(logl|{\}|name|{\libtitle}|{.log});
  213.         loop({oneBoad});
  214.         fclose;
  215.     };
  216.  
  217.     mclear(1);
  218.     madd(1,{  ★  読みたい物を左ダブルクリック}|
  219.            {(又はカーソル移動+PF2)で選択して下さい ★ \n});
  220.     f2:=lib;
  221.     loop({
  222.         %fname @head(@head(f2,{/}),{(});
  223.         f2:=@body(f2,{/});
  224.         case(@filechk(logl|{\}|fname|{\libtitle}|{.log}),
  225.             {Yes},{oneForum(fname)});
  226.         im(f2<>{})
  227.     });
  228.     };
  229.  
  230.     %dispboad{
  231.     %line @memo(1,boadnum,1);
  232.     %type @getchar(line,12,14);
  233.     %name @getchar(line,2,8);
  234.     case(type,
  235.       {Forum Openning},{dispFile(logl|{\}|name|{\LIBTITLE.LOG});
  236.     },{Forum Library },{
  237.         %num @case(@getchar(line,26,1),
  238.                 { },{im({0}|@getchar(line,27,1))},
  239.                    ,{getchar(line,26,2)});
  240.         %filename logl|{\}|name|{\}|{LIB}|num|{.LOG};
  241.         case(@filechk(filename),
  242.         {Yes},{boadmenu(filename)
  243.         },{No},{Bell;
  244.             select({ この会議室には,}|
  245.             {受信済のメッセージがありません},5,,{OK?},)
  246.         });
  247.     },{Forum Library'},{
  248.         %num @case(@getchar(line,26,1),
  249.                 { },{im({0}|@getchar(line,27,1))},
  250.                    ,{getchar(line,26,2)});
  251.         %filename logl|{\}|name|{\}|{LIB}|num|{.LST};
  252.         case(@filechk(filename),
  253.         {Yes},{boadmenu(filename)
  254.         },{No},{Bell;
  255.             select({ この会議室には,}|
  256.             {受信済のメッセージがありません},5,,{OK?},)
  257.         });
  258.     });
  259.     };
  260.  
  261.     footnote({ 受信文書の一覧を作成中です});
  262.     setdocm;
  263.     mset(1,{r});
  264.     boadnum:=0;
  265.     loop({
  266.     mopen(1,0,21,639,459);
  267.     curline(boadnum);
  268.     footnote({終了表示},{b});
  269.     loop({    waitx(1000);
  270.         im(@xtype!=1 && @xtype<100 || @xlinenum<0)
  271.     });
  272.     boadnum:=@xlinenum;
  273.     case(@PFK(@xtype),
  274.           1,{ CloseAllMemo; dispboad; im({Yes});
  275.       },101,{ im({No});
  276.       },102,{ CloseAllMemo; dispboad; im({Yes});
  277.       },   ,{ CloseAllMemo; im({Yes});
  278.     });
  279.     });
  280.     case(@mcheck!=0,{Yes},{mclose(3)});
  281.     CloseAllMemo;
  282.     mset(2,{n});
  283.     mset(1,{n});
  284.     footnote({});
  285. };
  286.  
  287. case(proc,{手動},{syudou},{選択},{sentaku},{READ},{setREAD});
  288.